package com.bestcem.xm.award.dao.mapper;

import com.bestcem.xm.award.entity.mysql.AwardRequestStatsDayEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 奖励请求每日数量统计
 *
 * @author jie.yao <jie.yao@idiaoyan.com>
 * @version v1.0
 * @date 2021/9/15 15:32
 */
@Mapper
public interface AwardRequestStatsDayMapper {

    /**
     * 插入数据
     *
     * @param awardRequestStatsDayEntity 奖励请求数量统计
     * @return 插入成功条数
     */
    Integer insert(AwardRequestStatsDayEntity awardRequestStatsDayEntity);

    /**
     * 根据awardId、deliverId、statsDay修改数据
     *
     * @param awardRequestStatsDayEntity 奖励请求数量统计
     * @return 修改成功条数
     */
    Integer updateByAwardIdAndStatsDay(AwardRequestStatsDayEntity awardRequestStatsDayEntity);

    /**
     * 查询奖励统计
     *
     * @param awardId   奖励id
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 奖励请求数量统计列表
     */
    List<AwardRequestStatsDayEntity> listAwardRequestStatsDays(@Param("awardId") String awardId,
                                                               @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    /**
     * 批量插入奖励统计数据
     * @param entityList
     * @return
     */
    Integer batchInsert(List<AwardRequestStatsDayEntity> entityList);

    /**
     * 根据日期删除数据
     * @param statsDay 日期
     * @return
     */
    Integer deleteByStatsDay(Date statsDay);
}
